草庐IT

python - MrJob 多步作业执行时间

全部标签

ruby - 如何在没有前导零或前导空格的情况下书写时间?

在Ruby1.9程序中,我想将当前时间格式化为Thu1:51PM。我应该为一天中的小时使用什么格式代码(本例中为1)?Time.now.strftime'%a%I:%M%p'#=>"Thu01:51PM"Time.now.strftime'%a%l:%M%p'#=>"Thu1:51PM"%I有一个前导零(01)。%l有一个前导空格(1)。我在strftimedocumentation中没有看到小时的任何其他格式代码.我不能使用.lstrip因为空格在字符串的中间。我可以使用.gsub(/+/,""),但我想知道是否有更简洁、更简单的方法。 最佳答案

ruby - 为什么循环中的 Rake 任务只执行一次?

我有连接到多个数据库的Rails应用程序。我编写了如下所示的自定义rake任务:task:migrate_accounts_schema=>[:environment]do|t|users=User.find:all,:conditions=>["state=2"],:order=>"idasc"users.eachdo|user|ifuser.state==2ActiveRecord::Base.establish_connection(:adapter=>"postgresql",:host=>user.database_host,:port=>user.database_port

Ruby block 到字符串而不是执行

这个问题在这里已经有了答案:PrintingthesourcecodeofaRubyblock(6个答案)关闭8年前。举个例子:write_as_string{puts'x'}然后我想能够做到defwrite_as_string(&block)putsblock.to_send当我执行此操作时,我希望输出为:"puts'x'"我希望能够接收block并获取block的实际代码而不是执行它。动机:创建一个DSL,我想将mock转换为许多其他方法调用,从调用代码中隐藏-使用现有对象和方法而不用猴子修补它们。任何关于此的想法都会很棒!谢谢本

ruby - 创建一个根据角色执行不同任务的 Capistrano 任务

我正在寻找一种方法来调用单个Capistrano任务来为不同的角色执行不同的事情。Capistrano是否能够做到这一点,或者我是否为每个角色编写了特定任务? 最佳答案 在Capistrano中执行此操作的标准方法:task:whatever,:roles=>[:x,:y,:z]dox_tasksy_tasksz_tasksendtask:x_tasks,:roles=>:xdo#...endtask:y_tasks,:roles=>:ydo#...endtask:z_tasks,:roles=>:zdo#...end所以是的,您确

ruby-on-rails - 在 Rails 中将本地时间转换为 UTC

在我的MySQL数据库中,updated_at字段存储为UTC。上周在美国东部时间晚上7点输入了一条记录,它的updated_at值为“2012-08-0123:00:00”。我正在尝试将Web客户端的本地时间转换为UTC,以便与数据库中的updated_at字段进行比较。例如,我想将“08/01/201207:00pm”转换为“2012-08-0123:00:00”(考虑到我在美国东部时间),但我不见了转换的时区方面。'7:00pm'是本地时间,可以来自任何时区。我当前的代码:ruby-1.9.2-head:015>from_date=DateTime.strptime('08/01

ruby-on-rails - Rails 时间奇数 : "x days from now"

当用户注册到我的网站之一进行免费试用时,我将他们的帐户到期时间设置为“14.days.from_now”。然后在主页上我显示他们还剩多少天,这是我得到的:(user.trial_expires-Time.now)/86400(因为一天有86400秒,即60*60*24)有趣的是,结果超过14,因此四舍五入为15。在控制台中进行更仔细的调查后,这种情况只会在未来两天发生(如果您明白我的意思)。例如>>Time.now=>FriOct2911:09:2601002010>>future_1_day=1.day.from_now=>Sat,30Oct201011:09:27BST01:00#

ruby-on-rails - 使用#update_all 更新时间戳

当我有要更新其属性的ID列表时,数据库中的updated_at字段似乎没有改变,这就是我的意思:ids=[2,4,51,124,33]MyObj.where(:id=>ids).update_all(:closed=>true)执行此更新后,updated_at字段不会更改。但是,当我使用railsc进入rails控制台并执行此操作时:obj=MyObj.find(2)obj.closed=false;obj.save!在此语句之后updated_at字段更改值。为什么是这样?当发生这种情况时,我正在监听更新并执行整个应用程序流程时,我依赖于我的应用程序中的这个updated_at字段

ruby - 你如何让 DateTime.parse 返回你所在时区的时间?

我需要这个require'date'DateTime.parse"Mon,Dec276:30pm"返回EDT时区下午6:30的DateTime,但返回UTC时间。如何获取EST日期时间或将UTC日期时间转换为具有下午6:30值的EDT日期时间? 最佳答案 好的,我要回答我自己的问题require'time'ENV["TZ"]="US/Eastern"Time.parse("Mon,Dec276:30pm").to_datetime=># 关于ruby-你如何让DateTime.parse

ruby - 需要文件而不执行代码?

这里我有两个文件:文件.rbdefmethodputs"Thiswon'tbeoutputted."endputs"Thiswillbeoutputted."主.rbrequire"./file"当运行main.rb时,它会加载file.rb中的所有代码,所以我会得到“这将被输出”。在屏幕上。是否可以在不运行代码的情况下加载文件?因为我想加载所有方法(也在模块和类中)而不必在这些范围之外执行代码。 最佳答案 Isitpossibletoloadafilewithouthavingittorunthecode?不,ruby文件中的所有

ruby-on-rails - 在日志消息之前添加当前时间

我为我的应用程序创建了一个自定义记录器,称为CRON_LOG,只需将这段代码添加到config/environment.rbCRON_LOG=Logger.new("#{Rails.root}/log/cron.log")CRON_LOG.level=Logger::INFO然后,当我想记录一些东西时,就这样做:CRON_LOG.info"something"它工作正常,但我想在每条日志消息之前添加当前时间戳。当然,我可以将Time.now添加到我的日志消息中,但我想知道是否有一种方法可以将它作为默认值添加到每条日志消息中。我该怎么做?谢谢。 最佳答案